1. Technical Field
This invention relates generally to printers for creating pages by a complex page description language, and more particularly to such a printer which is adapted to create pages using complex page description language but which does not require full page buffer memory.
2. Background Art
An all points addressable marking engine, such as a laser, ink jet, or dot matrix printer, is capable of placing a mark at any one of a large number of pixel locations on a page. Many such marking engines are such that once a page is in process, the marking engine must continue to operate at a predetermined, fixed speed until the page is completed. This referred to herein as a "synchronous" mode of operation. Electrostatographic printers are examples of marking engines which require synchronous operation, at least for the latent image development and transfer portions of the electrographic process.
Typically, a printer includes a marking engine and a controller which receives an electronically encoded stream of text and graphics instructions from an external source and generates a signal for controlling the marking engine. Since such marking engines often function to mark one line of pixels at a time, in raster fashion, the controller is commonly referred to as a raster image processor, or RIP.
A raster image processor generally includes both (1) a microprocessor for control and data manipulation and (2) a font memory for storing bit maps of alphanumeric characters and graphic objects for the microprocessor. The raster image processor typically creates pages by a complex page-description language rendering algorithm which forms a bit map of, for example, "1"s to indicate that a mark is to be made at the corresponding location on the page, or "0"s to indicate that the location is to be left blank. In operation, the raster image processor receives a code such as ASCII code indicating a character and the location where it is to be printed, and retrieves a bit map representation of the indicated character from the font memory.
A rasterizing process as described above is generally slow when compared to the speed of known marking engines. If the marking engine is one which requires synchronous operation as described above, a buffer must be provided between the raster image processor and the marking engine so that a full page of bit map data is available when the marking engine starts a new page; or at least so that enough data is available to insure that the marking engine will not have to wait for additional data in mid-page.
The memory buffer contains a memory location for each location on the page where a mark can be made by the marking engine. The processor then stores the bit map in the desired location in the page memory. When the page memory has been filled in this fashion, the contents of the memory are addressed, one line at a time, to drive the marking engine.